package com.goods.service;

import com.goods.common.model.business.*;
import com.goods.common.vo.business.*;
import com.goods.common.vo.system.PageVO;

import java.util.List;

public interface businessService {
    //物资来源分页查询
    PageVO<SupplierVO> baseTrademark(Integer pageNum, Integer pageSize, SupplierVO supplierVO);
    //物资来源 删除
    void deleteSupplier(Integer id);
    //物质类别分页查询
    PageVO<ProductCategoryTreeNodeVO> categoryTree(Integer pageNum, Integer pageSize);
    //物资类别删除
    void deleteProductCategory(Integer id);
    //物资类别的父分类
    List<ProductCategoryTreeNodeVO> getParentCategoryTree();
    //物资类别的添加
    void addProductCategory(ProductCategory productCategory);
    //入库记录分页
    PageVO<InStockVO> findInStockList(Integer pageNum, Integer pageSize, InStockVO inStockVO);
    //物资去处
    PageVO<ConsumerVO> findConsumerList(Integer pageNum, Integer pageSize, ConsumerVO consumer);
    //物资资料
    PageVO<ProductVO> findProductList(Integer pageNum, Integer pageSize, ProductVO productVO);
    //添加物资资料保存数据
    void addIntoStock(InStockVO inStockVO);
    //物资去处删除
    void DeleteConsumer(Integer id);
    //物资去处修改（回显数据）
    Consumer consumerEdit(Integer id);
    //物资去处修改（保存数据）
    void consumerUpdate(Consumer consumer);
    //物资去处添加
    void consumerAdd(Consumer consumer);
    //物资资料修改状态(回复)1--->0
    void productBack(Integer id);
    // 物资资料修改状态(添加到回收站)0--->1
    void productRemove(Integer id);
    //物资资料修改状态(通过审核)2--->0
    void productPublish(Integer id);
    //物资资料添加
    void productAdd(Product product);
    //物资类别的修改(回显)
    ProductCategory productCategoryEdit(Integer id);
    //物资类别的修改(保存修改)
    void productCategoryUpdate(Integer id, ProductCategory productCategory);
    //物资来源添加
    void supplierAdd(Supplier supplier);
    //物资来源去修改（回显）
    Supplier supplierEdit(Integer id);
    //物资来源去修改（保存数据）
    void supplierUpdate(Supplier supplier);
    //发放记录分页
    PageVO<OutStockVO> findOutStockList(Integer pageNum, Integer pageSize, OutStockVO outStockVO);
    //物资库存分页
    PageVO<ProductStockVO> findProductStocks(Integer pageNum, Integer pageSize, ProductStockVO productStockVO);
    //健康打卡
    void healthReport(Health health);
}
